home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / postscript / faq / part11 < prev    next >
Encoding:
Text File  |  1994-04-12  |  23.9 KB  |  633 lines

  1. Newsgroups: comp.lang.postscript,comp.answers,news.answers
  2. Path: bloom-beacon.mit.edu!news.media.mit.edu!uhog.mit.edu!sgiblab!brunix!doorknob.cs.brown.edu!jgm
  3. From: Jonathan Monsarrat <postscript-request@cs.brown.edu>
  4. Subject: PostScript monthly FAQ v2.2 12-26-93 [11 of 11]
  5. Content-Type: text
  6. Message-ID: <JGM.94Apr11234632@chekov.cs.brown.edu>
  7. Followup-To: poster
  8. Summary: Useful facts about the PostScript graphics programming language
  9. Sender: news@cs.brown.edu
  10. Supersedes: <JGM.93Apr16124153@vegas.cs.brown.edu>
  11. Reply-To: postscript-request@cs.brown.edu (PostScript FAQ comments address)
  12. Organization: Brown University Department of Computer Science
  13. Mime-Version: 1.0
  14. Date: Tue, 12 Apr 1994 04:46:32 GMT
  15. Approved: news-answers-request@MIT.Edu
  16. Expires: Thu, 12 May 1994 00:00:00 GMT
  17. Lines: 613
  18. Xref: bloom-beacon.mit.edu comp.lang.postscript:9153 comp.answers:4869 news.answers:17935
  19.  
  20. Archive-name: postscript/faq/part11
  21. Last-modified: 1993/12/26
  22. Version: 2.2
  23.  
  24.                               -- PostScript -- 
  25.  
  26.                             Answers to Questions 
  27.  
  28.                     (the comp.lang.postscript FAQ v2.2) 
  29.  
  30.                                Jon Monsarrat 
  31.  
  32.                               jgm@cs.brown.edu 
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                      This FAQ is formatted as a digest. 
  40.  
  41.                 Most news readers can skip from one question 
  42.  
  43.                      to the next by pressing control-G. 
  44.  
  45.  
  46.     Changes since the last version are marked with a '|' in the table 
  47.     of contents and in the sections in the text-only format of the FAQ. 
  48.  
  49.     Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
  50.     clone) users can run any of the X-windows and UNIX programs in the 
  51.     utilities section. See comp.os.linux. Also, there is now 
  52.     GhostScript for the Macintosh. 
  53.  
  54.     Many thanks to Dan Carrigan for reformatting the books and 
  55.     publishers section. 
  56.  
  57.     The utilities index from the comp.sources.postscript FAQ will be 
  58.     posted in comp.lang.postscript now too. 
  59.  
  60.     Please help fix the FAQ! All comments should be mailed to 
  61.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is 
  62.     when it is accompanied by a section of the FAQ that is edited and 
  63.     mailed to me verbatim as an example. If you would like to 
  64.     contribute, please read the section ``about the FAQ'' first. Thank 
  65.     you! 
  66.  
  67.     Books and programs are referred to by name only. See the book 
  68.     sections for book information, and the comp.sources.postscript FAQ 
  69.     for a full list of all PostScript related programs. I have archived 
  70.     a number of the small utilities in 
  71.     wilma.cs.brown.edu:pub/postscript. You can get the 
  72.     comp.sources.postscript FAQ from 
  73.     wilma.cs.brown.edu:pub/comp.sources.postscript. 
  74.  
  75.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics, 
  76.     comp.sys.mac.apps, comp.sources.postscript. 
  77.  
  78. Subject: 11 About PostScript 2 
  79.  
  80.  
  81. Subject: 11.1 What printers support Level 2 PostScript? 
  82.  
  83.  
  84.  
  85.     * Apple LaserWriter IIf 
  86.  
  87.  
  88.     * Apple LaserWriter IIg 
  89.  
  90.  
  91.     * Apple LaserWriter Pro 600 (with ram upgrade to get 600 DPI) 
  92.  
  93.  
  94.     * Apple LaserWriter Pro 630 (True 600 DPI) 
  95.  
  96.  
  97.     * Apple Personal LaserWriter NTR 
  98.  
  99.       Apple sells an upgrade to the IINTX to turn it into a IIf/IIG for 
  100.       instance. 
  101.  
  102.  
  103.     * Compaq PAGEMARQ 20 
  104.  
  105.  
  106.     * Compaq PAGEMARQ 15 
  107.  
  108.  
  109.     * Data Products LZR 960 
  110.  
  111.  
  112.     * Data Products LZR 1560 
  113.  
  114.  
  115.     * DEClaser 1152 
  116.  
  117.  
  118.     * Hewlett-Packard PostScript CartridgePlus, which works with the HP 
  119.       Laserjet III, IIID, and IIIP. 
  120.  
  121.  
  122.     * Hewlett-Packard LaserJet 4M 
  123.  
  124.  
  125.     * NEC SilentWriter 95 
  126.  
  127.  
  128.     * QMS 1725 Print System 
  129.  
  130.  
  131.     * QMS 860 ``Hammerhead'' 
  132.  
  133.  
  134.     * QMS ColorScript 210 and 230 
  135.  
  136.  
  137.     * Tektronix Phaser III PXi 
  138.  
  139.  
  140.     * Tektronix Phaser II (all models) 
  141.  
  142.  
  143.     * Tektronix Phase 200e 
  144.  
  145.  
  146.     * Texas Instruments microLaser Turbo 
  147.  
  148.  
  149.     * Texas Instruments microLaser XL Turbo 
  150.  
  151.     This rest of file contains a description of PostScript 2 written by 
  152.     Carl Orthlieb from Adobe. The text has not been changed, but some 
  153.     paragraphs have been deleted for brevity. Comments by me are in 
  154.     square brackets, and these were not written by Adobe. 
  155.  
  156.  
  157. Subject: 11.2 What is PostScript Level 2? 
  158.  
  159.     Since its introduction in 1985, the PostScript language has been 
  160.     considerably extended for greater programming power, efficiency, 
  161.     and flexibility. 
  162.  
  163.     Typically, these language extensions have been designed to adapt 
  164.     the PostScript language to new imaging technologies or system 
  165.     environments. While these extensions have introduced new 
  166.     functionality and flexibility to the language, the basic imaging 
  167.     model remains unchanged. 
  168.  
  169.     PostScript Level 2 integrates the original PostScript language, all 
  170.     previous language extensions, and new language features into the 
  171.     core PostScript language imaging model. 
  172.  
  173.  
  174. Subject: 11.3 [ Color Extensions ] 
  175.  
  176.     The color extensions were added to the language in 1988 to provide 
  177.     more complete color functionality. With the original PostScript 
  178.     language, color could be specified using the red-green-blue (RGB) 
  179.     and hue-saturation-brightness (HSB) color models. 
  180.  
  181.     The color extensions include cyan-magenta-yellow-black (CMYK) color 
  182.     model, black generation and undercolor removal functions, screen 
  183.     and transfer functions for four separate color components, and a 
  184.     colorimage operator for rendering color sampled images. The color 
  185.     extensions are currently found in PostScript color printers from 
  186.     Canon, QMS, Oce, and NEC as well as all implementations of the 
  187.     Display PostScript system. 
  188.  
  189.  
  190. Subject: 11.4 [ Composite Font Extensions ] 
  191.  
  192.     The composite font technology is a general solution that extends 
  193.     the basic PostScript language font mechanism to enable the encoding 
  194.     of very large character sets and handle non-horizontal writing 
  195.     modes. 
  196.  
  197.     A Type 1 PostScript font has room for encoding only 256 distinct 
  198.     characters. A typical Japanese font has over 7,000 Kanji, katakana 
  199.     and hiragana characters. The composite font technology allows you 
  200.     to create one ``composite'' font that is made up from any number of 
  201.     ``base'' fonts. In addition, the composite font technology allows 
  202.     you to include two sets of metrics (character spacing details) in 
  203.     the font: one for a horizontal-writing mode, and one for a 
  204.     vertical-writing mode. 
  205.  
  206.  
  207. Subject: 11.5 [ Display PostScript Extensions ] 
  208.  
  209.     The Display PostScript extensions address the needs of using the 
  210.     PostScript language imaging model in a display environment. It 
  211.     includes extensions to deal specifically with displays and 
  212.     windowing systems as well as many optimized operators to increase 
  213.     performance which is critical in an interactive display environment 
  214.     [ (and printers) ] . 
  215.  
  216.  
  217. Subject: 11.6 [ Overview of Level 2 Features ] 
  218.  
  219.  
  220. Subject: 11.7 Filters 
  221.  
  222.  
  223.  
  224.     * A filter transforms data as it is being read from or written to a 
  225.       file. The language supports filters for ASCII encoding of binary 
  226.       data, compression and decompression, and embedded subfiles. 
  227.       Properly used, these filters reduce the storage and transmission 
  228.       cost of page descriptions, especially ones containing sampled 
  229.       images. Benefits: Reduced storage requirements, greater 
  230.       performance. 
  231.  
  232.  
  233.     * ASCII encoding of binary data: ASCII/85 (represent binary data in 
  234.       ASCII format with only a 125 % expansion of data), and ASCII/HEX 
  235.       (current method of representing binary data in ASCII format but 
  236.       with a 200 % expansion of data). Benefits: Compact representation 
  237.       of binary data in a portable ASCII representation. 
  238.  
  239.  
  240.     * Compression and decompression filters: CCITT Group 3 & 4 
  241.       (monochrome images), run-length encoding (monochrome and 
  242.       grayscale images), LZW ( 2:1 compression of text files), DCT 
  243.       (20-200:1 compression of color images using the proposed JPEG 
  244.       standard). Benefits: Improved performance due to reduced 
  245.       transmission times. PostScript files on disk can also be made 
  246.       much smaller, saving disk space. 
  247.  
  248.  
  249. Subject: 11.8 Binary Encoding 
  250.  
  251.  ax 
  252.     includes two binary-encoded representations. These binary encodings 
  253.     improve efficiency of generation, representation, and 
  254.     interpretation. However, they are less portable than the ASCII 
  255.     encoding and are suitable for use only in controlled environments. 
  256.     Benefits: performance, compactness. 
  257.  
  258.  
  259. Subject: 11.9 Optimized graphics operators 
  260.  
  261.  
  262.  
  263.     * Rectangle operators. New operators for filling, clipping and 
  264.       stroking rectangles; all highly optimized. For example, rectfill 
  265.       is 3 times faster than an equivalent moveto, lineto, lineto, 
  266.       lineto, closepath, fill. Benefits: performance and convenience. 
  267.  
  268.  
  269.     * Graphics state objects provide a fast way to switch between 
  270.       graphics states, which define the current line weight, color, 
  271.       font, etc. In existing printers, graphics states are stored on a 
  272.       stack, so accessing an arbitrary graphics state is somewhat 
  273.       cumbersome. With graphics state objects, the graphics state can 
  274.       be associated with a name, and retrieved by simply requesting the 
  275.       name. Benefits: Performance, convenience. 
  276.  
  277.  
  278.     * Halftone specification. New halftone dictionaries provide a more 
  279.       precise way of specifying the halftone dots, and makes switching 
  280.       between halftone screens faster. (The spot function is not 
  281.       reinterpreted.) Benefits: Performance, convenience, enhanced 
  282.       functionality. 
  283.  
  284.  
  285.     * User paths are self-contained procedures that consists entirely 
  286.       of path construction operators and their coordinate operands. 
  287.       User path operators perform path construction and painting as a 
  288.       single operation; this is both convenient and efficient. There is 
  289.       a user path cache to optimize interpretation of user paths that 
  290.       are invoked repeatedly. Benefits: Performance, convenience. 
  291.  
  292.  
  293.     * Stroke adjustment. For very thin lines, there is a trade-off 
  294.       between perfect positioning and consistent line width. Depending 
  295.       on the placement of such a line, it could end up being rendered 
  296.       as either 1 or 2 pixels wide, which is a noticeable difference. 
  297.       To account for this, PostScript language programs often include 
  298.       logic to slightly alter the coordinates of lines for consistent 
  299.       rendering. With automatic stroke adjustment the interpreter 
  300.       performs this adjustment to ensure consistent widths. Doing it in 
  301.       the interpreter rather than in the PostScript language program is 
  302.       20 - 30 % faster. Benefits: Performance, convenience, improved 
  303.       quality. 
  304.  
  305.  
  306. Subject: 11.10 Optimized text operators 
  307.  
  308.  
  309.  
  310.     * The xyshow operator provides a more natural way for applications 
  311.       to deal with individual character positioning. Allows 
  312.       simultaneous track kerning, pair kerning, and justification. 
  313.       Benefits: Performance, convenience. 
  314.  
  315.  
  316.     * The selectfont operator optimizes switching between fonts. It 
  317.       does the work of 3 Level 1 operators: findfont, scalefont, and 
  318.       setfont and has been optimized by using a caching mechanism. 
  319.       Benefits: Performance, convenience. 
  320.  
  321.  
  322. Subject: 11.11 Forms 
  323.  
  324.  
  325.  
  326.     * A form is a self-contained description of any arbitrary graphics, 
  327.       text, and sampled images that are to be painted multiple times on 
  328.       each of several pages or several times at different locations on 
  329.       a single page. 
  330.  
  331.  
  332.     * With the new forms feature, you can define a base form whose 
  333.       representation stays cached between pages, so only information 
  334.       that changes between forms will need to be interpreted for each 
  335.       page. The representation used to cache the form may vary from 
  336.       device to device depending on the available resources, such as 
  337.       memory and/or hard disk space. In some cases, the actual 
  338.       rasterized form will be saved, in other cases, an intermediate 
  339.       representation (such as a display list) may be saved. Benefits: 
  340.       End-users will benefit by improved performance. 
  341.  
  342.  
  343.     * This makes forms processing faster and provide a natural 
  344.       framework for ISVs implementing a forms functionality in their 
  345.       application. Benefits: Convenience for ISVs. 
  346.  
  347.  
  348.     * Besides the traditional concept of ``forms,'' some other examples 
  349.       of forms include: Letterhead, stationary, overhead presentation 
  350.       backgrounds, repetitive symbols in a CAD drawing such as screws 
  351.       (mechanical drawing) or windows (architectural drawing), complex 
  352.       background blends in 35mm slides. Benefits: Enhanced 
  353.       functionality and application of PostScript printers in a variety 
  354.       of different environments. 
  355.  
  356.  
  357. Subject: 11.12 Patterns 
  358.  
  359.  
  360.  
  361.     * The new pattern color space provides the ability to establish a 
  362.       pattern as the current color. Subsequent use of operators such as 
  363.       fill, stroke, and show apply ``paint'' that is produced by 
  364.       replicating (or tiling) a small graphical figure called a pattern 
  365.       cell at fixed intervals in x and y to cover the areas to be 
  366.       painted. The appearance of a pattern cell is defined by a 
  367.       PostScript language procedure, which can include any arbitrary 
  368.       graphics, text, and sampled images. The shape of the pattern cell 
  369.       need not be rectangular, and the spacing of tiles can differ from 
  370.       the size of the pattern cell. Benefits: Enhanced functionality, 
  371.       performance, convenience. 
  372.  
  373.  
  374.     * For efficiency, the representation of the pattern cell may be 
  375.       cached. When cached, the execution of the procedure that defines 
  376.       the pattern need be done only once for the current pattern. The 
  377.       pattern cache is similar to the font cache. Benefits: 
  378.       Performance. 
  379.  
  380.  
  381.     * Multiple colors can be specified in the pattern or the pattern 
  382.       can be used as a mask to paint a color defined in some other 
  383.       color space. Benefits: Enhanced functionality 
  384.  
  385.  
  386.     * For display environments, this feature will allow patterns to be 
  387.       represented in a resolution independent manner. Until now, 
  388.       patterns have typically been represented by arrangements of 
  389.       pixels. This resolution-dependent representation does not work 
  390.       well when trying to image the pattern at a variety of different 
  391.       resolutions. 
  392.  
  393.  
  394. Subject: 11.13 Images 
  395.  
  396.     There are several enhancements to the facilities for painting 
  397.     sampled images: use of any color space, 12-bit component values, 
  398.     direct use of files as data sources, and additional decoding and 
  399.     rendering options. Benefits: Convenience, performance, quality. 
  400.  
  401.  
  402. Subject: 11.14 Composite Fonts 
  403.  
  404.  
  405.  
  406.     * Provides the basic machinery for non-Roman character sets. 
  407.       Enables the encoding of very large character sets and 
  408.       non-horizontal writing modes. Benefits: Enhanced functionality. 
  409.  
  410.  
  411.     * Provides a page description language for international business. 
  412.       Composite font technology makes printers more international. The 
  413.       same font technology can be used worldwide, and will provide 
  414.       support for companies that must work in today's international 
  415.       business environment. Benefits: Enhanced functionality. 
  416.  
  417.  
  418.     * Advantages not limited to foreign languages - also useful for 
  419.       strictly Roman printers: allows the creation of a single 
  420.       composite font that combines two or more fonts. For example, you 
  421.       may wish to combine a textual font (such as Times-Roman) with a 
  422.       graphical font (such as Zapf-Dingbats), and have all characters 
  423.       at their disposal within a single font. Other uses of composite 
  424.       fonts: IBM extended character set, and expert sets (such as Adobe 
  425.       Garamond). Benefits: Enhanced functionality and increased 
  426.       performance by minimizing switching between fonts. 
  427.  
  428.  
  429. Subject: 11.15 New Color Spaces 
  430.  
  431.  
  432.  
  433.     * CMYK color model and support for color images. Enhanced 
  434.       functionality. This will encourage more ISVs to use the color 
  435.       operators, because the operators will be widely available (The 
  436.       printer itself may not be able to print in color, but the 
  437.       PostScript language program won't generate errors when the 
  438.       operators for CMYK color are used.) 
  439.  
  440.  
  441. s several device-independent color 
  442.       spaces based on the CIE 1931 (XYZ)-space. CIE-based color 
  443.       specification enables a page description to specify color in a 
  444.       way that is related to human visual perception. The goal of the 
  445.       CIE standard is that a given CIE-based color specification should 
  446.       produce consistent results on different color output devices, 
  447.       independent of variations in marking technology, ink colorants, 
  448.       or screen phosphors. True device-independent color specification. 
  449.       Improved color matching between devices. 
  450.  
  451.  
  452.     * PostScript Level 2 supports three classes of color spaces: device 
  453.       independent, special, and device dependent. 
  454.  
  455.     The following device independent color spaces are standard: 
  456.  
  457.     The CIEBasedABC color space is defined in terms of a two-stage, 
  458.     non- linear transformation of the CIE 1931 (XYZ)-space. The 
  459.     formulation of the CIEBasedABC color space models a simple zone 
  460.     theory of color vision, consisting of a non-linear trichromatic 
  461.     first stage combined with a non-linear opponent color second stage. 
  462.     This formulation allows colors to be digitized with minimum loss of 
  463.     fidelity; this is important in sample images. 
  464.  
  465.     Special cases of CIEBasedABC include a variety of interesting and 
  466.     useful color spaces, such as the CIE 1931 (XYZ)-space, a class of 
  467.     calibrated RGB spaces, a class of opponent color spaces such as the 
  468.     CIE 1976 (L*a*b*)-space and the NTSC, SECAM, and PAL television 
  469.     spaces. 
  470.  
  471.     The CIEBased A color space is a one-dimensional and usually 
  472.     achromatic analog of CIEBasedABC. 
  473.  
  474.     The following special color spaces are standard: 
  475.  
  476.  
  477.  
  478.     * The Pattern color space enables painting with a ``color'' defined 
  479.       as a pattern, a graphical figure used repeatedly to cover the 
  480.       areas that are to be painted. See the discussion of patterns for 
  481.       more information. 
  482.  
  483.  
  484.     * The Indexed color space provides a way to map from small integers 
  485.       to arbitrary colors in a different color space such as a device 
  486.       independent color space. 
  487.  
  488.  
  489.     * The Separation color space provides control over either the 
  490.       production of a color separation or the application of a device 
  491.       colorant, depending on the nature and configuration of the 
  492.       device. 
  493.  
  494.     The following device dependent color spaces are standard: 
  495.  
  496.  
  497.  
  498.     * The DeviceGray color space is equivalent to the existing 
  499.       PostScript language's gray color model. 
  500.  
  501.  
  502.     * The DeviceRGB color space is equivalent to the existing 
  503.       PostScript language's red-green-blue (RGB) color model. 
  504.  
  505.  
  506.     * The DeviceCMYK color space is equivalent to the existing 
  507.       PostScript language's cyan-magenta-yellow-black (CMYK) color 
  508.       model. 
  509.  
  510.  
  511. Subject: 11.16 New screening/halftoning technology 
  512.  
  513.  
  514.  
  515.     * Improved algorithms for determining the angles and frequencies 
  516.       used for halftone screens. The improvements fall into two primary 
  517.       categories: general improvements, and improvements specific to 
  518.       color separations. 
  519.  
  520.  
  521.     * General improvements: (1) The new algorithms yield a 10 % 
  522.       improvement in the speed of the setscreen and image operators; 
  523.       (2) Earlier version of PostScript software could produce halftone 
  524.       screens only for certain angle and frequency combinations. Enough 
  525.       of these combinations were available so that any requested screen 
  526.       could be fairly well approximated by one of the available angle 
  527.       and frequency combinations. In contrast, the improved halftoning 
  528.       algorithms can provide as much as a ten-fold increase in the 
  529.       number of angle-frequency combinations that are available, 
  530.       depending on the device resolution and the available memory. 
  531.       Benefits: Increased performance and higher quality halftone 
  532.       screens. 
  533.  
  534.  
  535.     * Improvements specific to color separations: An additional feature 
  536.       is available that enables PostScript software to generate 
  537.       extremely accurate screen angles and frequencies. The screens 
  538.       produced by this method can achieve an angular accuracy of within 
  539.       05 degrees or better, depending on such parameters as exact 
  540.       screen angle requested, device resolution, and memory available 
  541.       for use by the algorithm. Benefits: Extremely high-quality color 
  542.       separations that approach the quality that previously was 
  543.       available only from high-end, color electronic pre-press systems. 
  544.  
  545.  
  546. Subject: 11.17 Improved printer support features 
  547.  
  548.  
  549.  
  550.     * Page device setup provides a device independent framework for 
  551.       specifying the requirements of a page description and for 
  552.       controlling both standard features, such as the number of copies, 
  553.       and optional features, such as duplex printing, paper trays, 
  554.       paper sizes, and other peripheral features. 
  555.  
  556.  
  557.     * Applications developers will be able to write a single driver for 
  558.       a variety of different PostScript printers. The same code can be 
  559.       used to address printer specific features whether the features 
  560.       exist in the printer or not. If the feature is not in the 
  561.       printer, the application can decide how to best respond to the 
  562.       lack of the feature. Benefits: Enhanced functionality. ISVs 
  563.       benefit by having a more uniform method for accessing printer 
  564.       specific features. End users benefit by having software that will 
  565.       take advantage of their printer's features. 
  566.  
  567.  
  568. Subject: 11.18 Interpreter parameters 
  569.  
  570.     Administrative operations, such as system configuration and 
  571.     changing input-output device parameters, are now organized in a 
  572.     more systematic way. Allocation of memory and other resources for 
  573.     specific purposes is under software control. For example, there are 
  574.     parameters controlling the maximum amount of memory to be used for 
  575.     VM, font cache, pattern cache, and halftone screens. Benefits: 
  576.     Flexibility. 
  577.  
  578.  
  579. Subject: 11.19 Resources 
  580.  
  581.  
  582.  
  583.     * A resource is a collection of named objects that either reside in 
  584.       VM or can be located and brought into VM on demand. There are 
  585.       separate categories of resources with independent name spaces - 
  586.       for example, fonts and forms are distinct resource categories. 
  587.  
  588.  
  589.     * The language includes convenient facilities for locating and 
  590.       managing resources. 
  591.  
  592.  
  593. Subject: 11.20 Dictionaries 
  594.  
  595.     Many Level 2 operators expect a dictionary operand that contains 
  596.     key-value pairs specifying parameters to the operator. Language 
  597.     features controlled in this way include halftones, images, forms, 
  598.     patterns, and device setup. This organization allows for optional 
  599.     parameters and future extensibility. For convenience in using such 
  600.     operators, the PostScript language syntax includes new tokens, 
  601.   
  602.   
  603.    << and >>,
  604.   
  605.   
  606.     to construct a dictionary containing the bracketed key-value pairs. 
  607.     Benefits: Convenience, extensibility. 
  608.  
  609.  
  610. Subject: 11.21 When did Level 2 products come available? 
  611.  
  612.     The first Level 2 products were available in early 1991. Level 2 
  613.     printers will soon be much more common. 
  614.  
  615.  
  616. Subject: 11.22 Are Level 1 and Level 2 implementations compatible? 
  617.  
  618.     [ Mostly, but not fully. The incompatibilities are of sufficient 
  619.     magnitude that when QMS introduced its first Level 2 compatible 
  620.     printer, it provided a ``Level 1'' mode for backward compatibility, 
  621.     for handling jobs which wouldn't run in Level 2. This should not be 
  622.     taken as too much of a criticism...some of the incom- patibilities 
  623.     from Level 1 to Level 2 involved fixing design mistakes in Level 1, 
  624.     or tightening up definitions which had been loose in Level 1 (where 
  625.     careless application writers had made use of the looseness, writing 
  626.     not to the language specification but to particular 
  627.     implementations.) ] 
  628.  
  629.     (C) 1990 Adobe Systems Incorporated. All rights reserved. 
  630.     PostScript, Display PostScript, and Adobe are trademarks of Adobe 
  631.     Systems Incorporated registered in the U.S. All other product names 
  632.     are trademarks or registered trademarks of their respective 
  633.